package algo3.modelo;

public class Posicion {

	private int fila;
	private int columna;

	public Posicion(int columna, int fila) {
		this.fila = fila;
		this.columna = columna;
	}

	public Posicion(Posicion posicion) {
		this(posicion.getColumna(), posicion.getFila());
	}
	
	public int getFila() {
		return this.fila;
	}

	public int getColumna() {
		return this.columna;
	}

	public boolean equals(Object pos) {
		boolean result = false;
		if (pos instanceof Posicion) {
			Posicion otro = (Posicion) pos;
			result = ((this.getFila() == otro.getFila()) && (this.getColumna() == otro.getColumna()));
		}
		return result;
    }

    public int hashCode() {
        return (41 * (41 + getColumna()) + getFila());
    }

	public static boolean equals(Posicion pos1, Posicion pos2) {
		
		return (pos1.getFila() == pos2.getFila()) && (pos2.getColumna() == pos2.getColumna());
	}

	public Posicion proximaEnDireccion(Direccion direccion) {
		return new Posicion(columna+direccion.getColumna(), fila +direccion.getFila());
	}
	

}
